package br.edu.universo.si.projeto2.infojob.client.util;

import br.edu.universo.si.projeto2.infojob.client.rpc.Service;
import br.edu.universo.si.projeto2.infojob.client.rpc.ServiceAsync;

import com.google.gwt.core.client.GWT;
import com.google.gwt.user.client.rpc.ServiceDefTarget;

/**
 * Esta é uma classe de utilidades. 
 * @author Andrey A. de Oliveira
 */
public class Util
{
	private static final ServiceAsync service = (ServiceAsync) GWT.create(Service.class);

	/**
	 * Chamada RPC.
	 * @author Andrey A. de Oliveira
	 * @return ServiceAsync
	 */
	public static ServiceAsync getService()
	{
		ServiceDefTarget endpoint = (ServiceDefTarget) service;
		String moduleRelativeURL = GWT.getModuleBaseURL() + "ServiceImpl";
		endpoint.setServiceEntryPoint(moduleRelativeURL);

		return service;
	}


	/**
	 * Abre o relatório (.pdf) em uma nova aba. Este método contém
	 * código Javascript nativo.
	 * @author Andrey A. de Oliveira
	 * @param caminho : o caminho do relatório (.pdf)
	 */
	public static native void abrirRel(String caminho) /*-{
	   $wnd.open(caminho);	
	}-*/;


	/**
	 * Localiza o diretório de imagens.
	 * @author Andrey A. de Oliveira
	 * @return String
	 */
	public static String getImagensPath()
	{
		return GWT.getHostPageBaseURL() + "imagens/";
	}
}